﻿<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
	xmlns:xlink="http://www.w3.org/1999/xlink"
	exclude-result-prefixes="msxsl">

	<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="/">
	
<xsl:apply-templates select="ReleaseDifference" />

</xsl:template>

<xsl:template match="ReleaseDifference">

<topic>
<xsl:attribute name="id"><xsl:value-of select="@ID" /></xsl:attribute>
<xsl:attribute name="revisionNumber">1</xsl:attribute>

	<xsl:text disable-output-escaping="yes"><![CDATA[<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">]]></xsl:text>
		
		<section>
		<xsl:attribute name="address">Introduction</xsl:attribute>
			<title><xsl:value-of select="@Name" /> API Differences Report</title>
			<content>
				<para>From <quoteInline><xsl:value-of select="@From" /></quoteInline> to 
				<quoteInline><xsl:value-of select="@To" /></quoteInline></para>
				<para>This report details changes in the public API betwwen versions <quoteInline><xsl:value-of select="@From" /></quoteInline>
				and <quoteInline><xsl:value-of select="@To" /></quoteInline> of <quoteInline><xsl:value-of select="@Name" /></quoteInline>. 
				It shows additions, modifications and removals of assemblies between the two versions. 
				The links on this page detail which classes, interfaces and enumerations have been added, 
				removed or changed in each assembly.</para>
			</content>
		</section>

		<xsl:apply-templates select="RemovedAssemblies"/>

		<xsl:apply-templates select="ChangedAssemblies"/>

		<xsl:apply-templates select="AddedAssemblies"/>

	<xsl:text disable-output-escaping="yes"><![CDATA[</developerConceptualDocument>]]></xsl:text>
	
</topic>

</xsl:template>

<xsl:template match="AddedAssemblies">

<section>
<xsl:attribute name="address">AddedAssemblies</xsl:attribute>
	<title>Added Assemblies</title>
	<content>
		<table>
			<title>Added Assemblies</title>
			<tableHeader><row><entry><para>Assembly</para></entry></row></tableHeader>

			<xsl:for-each select="Assembly">
				<row><entry><para><xsl:value-of select="@Name" /></para></entry></row>
			</xsl:for-each>

		</table>
	</content>
</section>

</xsl:template>

 
<xsl:template match="ChangedAssemblies">

<section>
<xsl:attribute name="address">ChangedAssemblies</xsl:attribute>
	<title>Changed Assemblies</title>
	<content>
		<table>
			<title>Changed Assemblies</title>
			<tableHeader><row><entry><para>Assembly</para></entry></row></tableHeader>
			
			<xsl:for-each select="Assembly">
				<row><entry><para><link><xsl:attribute name="xlink:href"><xsl:value-of select="@ID" /></xsl:attribute><xsl:value-of select="@Name" /></link></para></entry></row>
			</xsl:for-each>
		</table>
	</content>
</section>

</xsl:template>

<xsl:template match="RemovedAssemblies">

<section>
<xsl:attribute name="address">RemovedAssemblies</xsl:attribute>
	<title>Removed Assemblies</title>
	<content>
		<table>
			<title>Removed Assemblies</title>
			<tableHeader><row><entry><para>Assembly</para></entry></row></tableHeader>
			
			<xsl:for-each select="Assembly">
				<row><entry><para><xsl:value-of select="@Name" /></para></entry></row>
			</xsl:for-each>
		</table>
	</content>
</section>

</xsl:template>

</xsl:stylesheet>

